package cc.rengu.igas.bsps.common.dao;


import cc.rengu.igas.bsps.common.entity.InspectCollectCfg;

import java.util.List;

/**
 * 巡检采集配置表操作接口类
 * Created by 王成 on 2020/3/2
 */
public interface BspsInspectCollectCfgMapper {
    /**
     * 登记巡检采集配置信息
     *
     * @param inspectCollectCfg 巡检采集配置信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int insertInspectCollectCfg(InspectCollectCfg inspectCollectCfg) throws Exception;

    /**
     * 更新巡检采集配置信息
     *
     * @param inspectCollectCfg 巡检采集配置信息
     * @return 0-成功，其它-失败
     * @throws Exception 异常
     */
    int updateInspectCollectCfgById(InspectCollectCfg inspectCollectCfg) throws Exception;

    /**
     * 根据非业务主键查询巡检配置信息
     *
     * @param instId 多法人标识
     * @param id     非业务主键
     * @return 巡检采集配置信息
     * @throws Exception 异常
     */
    InspectCollectCfg selectInspectCollectCfgById(String instId, String id) throws Exception;

    /**
     * 根据主键查询巡检采集配置信息
     *
     * @param instId    多法人标识
     * @param collectId 采集信息标识
     * @return 巡检采集配置信息
     * @throws Exception 异常
     */
    InspectCollectCfg selectInspectCollectCfgByPrimaryKey(String instId, String collectId) throws Exception;

    /**
     * 根据巡检方式及商户属性查询巡检采集配置信息
     *
     * @param instId      多法人标识
     * @param inspectType 巡检方式
     * @param mchntAttr   商户属性
     * @return 巡检采集配置信息
     * @throws Exception 异常
     */
    List<InspectCollectCfg> selectInspectCollectCfgByInspectTypeAndMchntAttr(String instId, String inspectType, String mchntAttr) throws Exception;
}
